﻿using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Akso.Codes.Dto;
using Akso.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Akso.Codes
{
    public interface ICodeAppService: IApplicationService
    {
        Task<ListResultDto<CodeListDto>> GetObjects(GetCodesInput input);
        Task<CodeEntity> CreateOrUpdateObject(CreateOrUpdateCodeInput input);
        Task DeleteObject(EntityDto<Guid> input);
        ///// <summary>
        ///// 在新增、编辑数据的弹出对话框中，获取对象的数据。
        ///// </summary>
        ///// <param name="input"></param>
        ///// <returns></returns>
        Task<GetCodeForEditOutput> GetObjectForEdit(NullableIdDto<Guid> input);
        /// <summary>
        /// 根据代码组Key获取代码列表
        /// </summary>
        /// <returns></returns>
        ListResultDto<CodeListDto> GetAllCodesByGroupKey(string input);
    }
}
